home *** CD-ROM | disk | FTP | other *** search
- From: Bjarne Pohlers <bjarne@GOEDEL.UNI-MUENSTER.DE>
- Subject: Another patch...
- Date: Fri, 11 Feb 1994 14:53:27 +0100
-
- Hre is another patch for MiNT 1.09...
- My problem was: I wrote a tape device driver which needs to access a
- SCSI device driver and therefore calls f_open in its own open-function.
-
- Unfortunately the code of f_open (and f_create) is not reeantrant.
-
- *** dosfile.c.orig Fri Feb 11 14:18:54 1994
- --- dosfile.c Fri Feb 11 14:38:27 1994
- ***************
- *** 348,356 ****
- mode = (mode & ~O_RWMODE) | O_RDWR;
- }
-
- f = do_open(name, mode, 0, (XATTR *)0);
-
- -
- if (!f) {
- return mint_errno;
- }
- --- 348,357 ----
- mode = (mode & ~O_RWMODE) | O_RDWR;
- }
-
- + proc->handle[i]= (FILEPTR *)1; /* Reserve this handle */
- f = do_open(name, mode, 0, (XATTR *)0);
- + proc->handle[i]= (FILEPTR *)0; /* and release it again */
-
- if (!f) {
- return mint_errno;
- }
- ***************
- *** 422,428 ****
- --- 423,431 ----
- return EACCDN;
- }
-
- + proc->handle[i]= (FILEPTR *)1; /* Reserve this handle */
- f = do_open(name, O_RDWR|O_CREAT|O_TRUNC, attrib, (XATTR *)0);
- + proc->handle[i]= (FILEPTR *)0; /* and release it again */
-
- if (!f) {
- DEBUG(("Fcreate(%s) failed, error %d", name, mint_errno));
-